import { channel } from "~/config/env"

/********公共********/
/**
 * 接口名称： sendSmsCode
 * 接口用途： 发送手机验证码
 * method： GET
 * @param  {} app
 * @param  {} type (LOGIN:登陆,REGISTER:注册,RESET:重置)
 * @param  {} phone
 */
export const sendSmsCode = (app, type, phone) => app
    .$axios
    .$get(`/api/${channel}/supply/sms/app1.0/sendSmsCode/${type}/${phone}`)

/**
 * 接口名称： uploadImage
 * 接口用途： 上传图片
 * method： POST
 * @param  {} app
 * @param  {} uploadFile 图片文件
 */
export const uploadImage = (app, uploadFile) => app
    .$axios
    .$post(`/api/${channel}/supply/upload/app1.0/uploadImage`,
    uploadFile, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
})


/********用户*********/
/**
 * 接口名称： loginOnPassword
 * 接口用途： 用户密码登录
 * method：	POST
 * @param  {} app
 * @param  {} account 手机号
 * @param  {} password 密码
 */
export const loginOnPassword = (app, account, password) => app.$axios.$post(`/api/${channel}/supply/user/app1.0/login/password`, {
    account, password
})

/**
 * 接口名称： loginOnSmsCode
 * 接口用途： 验证码登录
 * method：	POST
 * @param  {} app
 * @param  {} account 手机号
 * @param  {} smsCode 验证码
 */
export const loginOnSmsCode = (app, account, smsCode) => app
    .$axios
    .$post(`/api/${channel}/supply/user/app1.0/login/smsCode`, {account, smsCode})

/**
 * 接口名称： logout
 * 接口用途： 用户注销
 * method：	POST
 * @param  {} app
 */
export const logout = (app) => app.$axios.$post(`/api/${channel}/supply/user/app1.0/logout`)

/**
 * 接口名称： updatePassword
 * 接口用途： 用户修改密码
 * method：	POST
 * @param  {} app
 * @param  {} oldPassword
 * @param  {} newPassword
 */
export const updatePassword = (app, oldPassword, newPassword) => app
    .$axios
    .$post(`/api/${channel}/supply/user/app1.0/updatePassword`, {
        oldPassword, newPassword
    })

/**
 * 接口名称： resetPassword
 * 接口用途： 用户重置密码
 * method：	POST
 * @param  {} app
 * @param  {} account
 * @param  {} smsCode
 * @param  {} password
 */
export const resetPassword = (app, account, smsCode, password) => app
.$axios.$post(`/api/${channel}/supply/user/app1.0/resetPassword`, {
    account, smsCode, password
})

/**
 * 接口名称： register
 * 接口用途： 用户注册
 * method：	POST
 * @param  {} app
 * @param  {} account
 * @param  {} smsCode
 * @param  {} password
 */
export const register = (app, account, smsCode, password) => app
    .$axios
    .$post(`/api/${channel}/supply/user/app1.0/register`, {account, smsCode, password})

/**
 * 接口名称：	getSupplyShopInfo
 * 接口用途：	获取商户信息
 * method：	GET
 * @param  {} app
 */
export const getSupplyShopInfo = (app) => app
    .$axios
    .$get(`/api/${channel}/supply/user/app1.0/getSupplyShopInfo`)

/**
 * 接口名称： updateSupplyShopInfo
 * 接口用途： 修改商户资质
 * @param  {} app
 * @param  {} obj
 * hannel	string	是	渠道(HTML:网页,APP:手机app)
 * name	string	是	供应商名称
 * contactName	string	是	联系人姓名
 * provinceCode	string	是	省编码
 * provinceName	string	是	省名称
 * cityCode	string	是	市编码
 * cityName	string	是	市名称
 * districtCode	string	是	区编码
 * districtName	string	是	区名称
 * longitude	float	是	经度
 * latitude	float	是	纬度
 * address	string	是	地址
 * businessLicenceUrl	string	是	经营性文件url
 * idCardFrontUrl	string	是	身份证正面url
 * idCardBackUrl	string	是	身份证背面url
 * productAuthUrl	string	是	产品授权证url
 * otherUrls	array	是	其他url
 */
export const updateSupplyShopInfo = (app, obj) => app.$axios.$post(`/api/${channel}/supply/user/app1.0/updateSupplyShopInfo`, obj)


/******角色管理*******/
/**
 * 接口名称： getSupplyRoleList
 * 接口用途： 获取商户管理角色列表
 * @param  {} app
 * @param  {} channel
 * @param  {} searchText
 */
export const getSupplyRoleList = (app, searchText) => app.$axios.$post(`/api/${channel}/supply/supplyRole/app1.0/getSupplyRoleList`, {
  searchText
})

/**
 * 接口名称： addSupplyRole
 * 接口用途： 添加商户管理角色
 * @param  {} app
 * @param  {} name
 * @param  {} code
 * @param  {} describe
 * @param  {} menuIds
 */
export const addSupplyRole = (app, name, code, describe, menuIds) => app.$axios.$post(`/api/${channel}/supply/supplyRole/app1.0/addSupplyRole`, {
  name, code, describe, menuIds
})

/**
 * 接口名称： updateSupplyRole
 * 接口用途： 修改商户管理角色
 * @param  {} app
 * @param  {} id
 * @param  {} name
 * @param  {} code
 * @param  {} describe
 * @param  {} menuIds
 */
export const updateSupplyRole = (app, id, name, code, describe, menuIds) => app.$axios.$post(`/api/${channel}/supply/supplyRole/app1.0/updateSupplyRole`, {
  id,
  name,
  code,
  describe,
  menuIds
})

/**
 * 接口名称： deleteSupplyRole
 * 接口用途： 删除商户管理角色
 * @param  {} app
 * @param  {} id
 */
export const deleteSupplyRole = (app, id) => app.$axios.$delete(`/api/${channel}/supply/supplyRole/app1.0/deleteSupplyRole/${id}`)

/**
 * 接口名称： getSupplyRole
 * 接口用途： 获取商户管理角色信息
 * @param  {} app
 * @param  {} id
 */
export const getSupplyRole = (app, id) => app.$axios.$get(`/api/${channel}/supply/supplyRole/app1.0/getSupplyRole/${id}`)

/**
 * 接口名称： getSupplyMenuList
 * 接口用途： 获取商户菜单列表结构
 * @param  {} app
 */
export const getSupplyMenuList = (app) => app.$axios.$get(`/api/${channel}/supply/supplyMenu/app1.0/getSupplyMenuList`)

/**
 * 接口名称： getSupplyRoleDropDown
 * 接口用途： 获取商户管理角色下拉列表框数据
 * @param  {} app
 * @param  {} searchText
 */
export const getSupplyRoleDropDown = (app, searchText) => app.$axios.$post(`/api/${channel}/supply/supplyRole/app1.0/getSupplyRoleDropDown`, {
  searchText
})

/**
 * 接口名称： getSupplyUserList
 * 接口用途： 获取商户管理用户分页列表
 * @param  {} app
 * @param  {} searchText
 * @param  {} roleId
 * @param  {} pageNum
 * @param  {} pageSize
 */
export const getSupplyUserList = (app, searchText, roleId, pageNum, pageSize) => app.$axios.$post(`/api/${channel}/supply/user/app1.0/getSupplyUserList`, {
  searchText, roleId, pageNum, pageSize
})

/**
 * 接口名称： addSupplyUser
 * 接口用途： 增加商户管理用户
 * @param  {} app
 * @param  {} mobilePhone
 * @param  {} email
 * @param  {} name
 * @param  {} password
 * @param  {} roleIds
 */
export const addSupplyUser = (app, mobilePhone, email, name, password, roleIds) => app.$axios.$post(`/api/${channel}/supply/user/app1.0/addSupplyUser`, {
  mobilePhone, email, name, password, roleIds
})

/**
 * 接口名称： updateSupplyUser
 * 接口用途： 修改商户管理用户
 * @param  {} app
 * @param  {} id
 * @param  {} email
 * @param  {} name
 * @param  {} roleIds
 */
export const updateSupplyUser = (app, id, email, name, roleIds) => app.$axios.$post(`/api/${channel}/supply/user/app1.0/updateSupplyUser`, {
  id, email, name, roleIds
})

/**
 * 接口名称： resetSupplyUserPassword
 * 接口用途： 重置商户管理用户密码
 * @param  {} app
 * @param  {} id
 */
export const resetSupplyUserPassword = (app, id) => app.$axios.$get(`/api/${channel}/supply/user/app1.0/resetSupplyUserPassword/${id}`)

/**
 * 接口名称： deleteSupplyUser
 * 接口用途：	删除商户管理用户
 * @param  {} app
 * @param  {} id
 */
export const deleteSupplyUser = (app, id) => app.$axios.$delete(`/api/${channel}/supply/user/app1.0/deleteSupplyUser/${id}`)

/**
 * 接口名称： getSupplyUser
 * 接口用途： 获取商户管理用户
 * @param  {} app
 * @param  {} id
 */
export const getSupplyUser = (app, id) => app.$axios.$get(`/api/${channel}/supply/user/app1.0/getSupplyUser/${id}`)

/**
 * 接口名称： getSupplyServiceList
 * 接口用途： 获取商户服务列表
 * @param  {} app
 */
export const getSupplyServiceList = (app) => app.$axios.$get(`/api/${channel}/supply/supplyService/app1.0/getSupplyServiceList`)

/**
 * 接口名称： addSupplyService
 * 接口用途： 添加商户服务
 * @param  {} app
 * @param  {} serviceName
 * @param  {} unitName
 * @param  {} number
 * @param  {} price
 */
export const addSupplyService = (app, serviceName, unitName, number, price) => app.$axios.$post(`/api/${channel}/supply/supplyService/app1.0/addSupplyService`, {
  serviceName, unitName, number, price
})

/**
 * 接口名称： updateSupplyService
 * 接口用途： 修改商户服务
 * @param  {} app
 * @param  {} id
 * @param  {} serviceName
 * @param  {} unitName
 * @param  {} number
 * @param  {} price
 */
export const updateSupplyService = (app, id, serviceName, unitName, number, price) => app.$axios.$post(`/api/${channel}/supply/supplyService/app1.0/updateSupplyService`, {
  id,
  serviceName,
  unitName,
  number,
  price
})

/**
 * 接口名称： deleteSupplyService
 * 接口用途： 删除商户服务
 * @param  {} app
 * @param  {} id
 */
export const deleteSupplyService = (app, id) => app.$axios.$delete(`/api/${channel}/supply/supplyService/app1.0/deleteSupplyService/${id}`)

/**
 * 接口名称： getSupplyService
 * 接口用途： 获取商户服务信息
 * @param  {} app
 * @param  {} id
 */
export const getSupplyService = (app, id) => app.$axios.$get(`/api/${channel}/supply/supplyService/app1.0/getSupplyService/${id}`)

/**
 * 接口名称： getShopCategoryDropDown
 * 接口用途： 获取店铺分类下拉框数据
 * @param  {} app
 * @param  {} searchText
 */
export const getShopCategoryDropDown = (app, searchText) => app.$axios.$post(`/api/${channel}/supply/category/app1.0/getShopCategoryDropDown`, {
  searchText
})

/**
 * 接口名称： getShopCategoryList
 * 接口用途： 获取店铺分类列表结构
 * @param  {} app
 */
export const getShopCategoryList = (app) => app.$axios.$get(`/api/${channel}/supply/category/app1.0/getShopCategoryList`)

/**
 * 接口名称： addShopCategoryParent
 * 接口用途： 添加店铺一级分类
 * @param  {} app
 * @param  {} name
 * @param  {} orderIndex
 */
export const addShopCategoryParent = (app, name, orderIndex) => app.$axios.$post(`/api/${channel}/supply/category/app1.0/addShopCategory/parent`, {
  name, orderIndex
})

/**
 * 接口名称： addShopCategoryChild
 * 接口用途： 添加店铺二级分类
 * @param  {} app
 * @param  {} name
 * @param  {} parentId
 * @param  {} orderIndex
 */
export const addShopCategoryChild = (app, name, parentId, orderIndex) => app.$axios.$post(`/api/${channel}/supply/category/app1.0/addShopCategory/child`, {
  name, parentId, orderIndex
})

/**
 * 接口名称： updateShopCategory
 * 接口用途： 修改店铺分类
 * @param  {} app
 * @param  {} id
 * @param  {} name
 * @param  {} orderIndex
 */
export const updateShopCategory = (app, id, name, orderIndex) => app.$axios.$post(`/api/${channel}/supply/category/app1.0/updateShopCategory`, {
  id, name, orderIndex
})

/**
 * 接口名称： deleteShopCategory
 * 接口用途： 删除店铺分类
 * @param  {} app
 * @param  {} id
 */
export const deleteShopCategory = (app, id) => app.$axios.$post(`/api/${channel}/supply/category/app1.0/deleteShopCategory/${id}`)

/**
 * 接口名称： mergeShopCategory
 * 接口用途： 合并店铺分类
 * @param  {} app
 * @param  {} id
 * @param  {} toCategoryId
 */
export const mergeShopCategory = (app, id, toCategoryId) => app.$axios.$post(`/api/${channel}/supply/category/app1.0/mergeShopCategory`, {
  id, toCategoryId
})

/**
 * 接口名称： getShopCategory
 * 接口用途： 获取店铺分类信息
 * @param  {} app
 * @param  {} id
 */
export const getShopCategory = (app, id) => app.$axios.$get(`/api/${channel}/supply/category/app1.0/getShopCategory/${id}`)
